//跟加法相比更麻烦
//1.需要自己实现比大小,关系重载和strcmp都是不看长度,遇到不相等就返回了
//2.需要去除前导0
#include<iostream>
#include<string>
#include<vector>
using namespace std;
bool cmp(string& a,string& b){
    if(a.size()!=b.size())
        return a.size()<b.size();
    for(int i=0;i<a.size();i++){
        if(a[i]>b[i])
            return false;
        if(a[i]<b[i])
            return true;
    }
    return false;
}
vector<int> sub(string&a,string&b){
    vector<int>res;
    int i=a.size()-1;
    int j=b.size()-1;
    int t=0;
    while(i>=0||j>=0){
        int s=t;
        t=0;
        if(i>=0)
            s+=a[i--]-'0';
        if(j>=0)
            s-=b[j--]-'0';
        if(s>=0)
            res.push_back(s);
        else{
            s+=10;
            t--;
            res.push_back(s);
        }
    }
    int index=res.size()-1;
    //去除前导0
    while(res[index--]==0&&res.size()>1){
        res.pop_back();
    }
    return res;
}
int main(){
    string a,b;
    cin>>a>>b;
    //判断大小
    if(cmp(a,b)){
        a.swap(b);
        cout<<'-';
    }
    //输出结果
    vector<int>res(sub(a,b));
    for(int i=res.size()-1;i>=0;i--)
        cout<<res[i];
    return 0;
}